home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Interactive Reference Guide / C-C++ Interactive Reference Guide.iso / c_ref / csource4 / 267_01 / tests6.asm < prev   
Assembly Source File  |  1989-01-13  |  4KB  |  350 lines

  1. ;
  2. ;    S6 Opcodes in Numerical Order
  3. ;
  4. ;    For Testing S6 Cross-Assembler
  5. ;
  6. ; First, some constant definitions:
  7. ;
  8. RAM    EQU    12H
  9. DATA    EQU    34H
  10.  
  11. ;
  12. ; 000H - 00FH
  13. ;
  14.     JRNZ    $ + 1
  15.     CALL    0560H
  16.     JRNC    $ + 1
  17.     JRR    0, RAM, $ + 3
  18.     JRZ    $ + 1
  19.                 ; 005H IS UNUSED.
  20.     JRC    $ + 1
  21.     LD    A, (X)
  22.     JRNZ    $ + 2
  23.     JP    0560H
  24.     JRNC    $ + 2
  25.     RES    0, RAM
  26.     JRZ    $ + 2
  27.     LDI    RAM, DATA
  28.     JRC    $ + 2
  29.     LD    A, (Y)
  30.  
  31. ;
  32. ; 001H - 01FH
  33. ;
  34.     JRNZ    $ + 3
  35.     CALL    0561H
  36.     JRNC    $ + 3
  37.     JRS    0, RAM, $ + 3
  38.     JRZ    $ + 3
  39.     INC    X
  40.     JRC    $ + 3
  41.     LDI    A, DATA
  42.     JRNZ    $ + 4
  43.     JP    0561H
  44.     JRNC    $ + 4
  45.     SET    0, RAM
  46.     JRZ    $ + 4
  47.     DEC    X
  48.     JRC    $ + 4
  49.     LD    A, RAM
  50.  
  51. ;
  52. ; 020H - 02FH
  53. ;
  54.     JRNZ    $ + 5
  55.     CALL    0562H
  56.     JRNC    $ + 5
  57.     JRR    4, RAM, $ + 3
  58.     JRZ    $ + 5
  59.                 ; 025H IS UNUSED.
  60.     JRC    $ + 5
  61.     CP    A, (X)
  62.     JRNZ    $ + 6
  63.     JP    0562H
  64.     JRNC    $ + 6
  65.     RES    4, RAM
  66.     JRZ    $ + 6
  67.     COM    A
  68.     JRC    $ + 6
  69.     CP    A, (Y)
  70.  
  71. ;
  72. ; 031H - 03FH
  73. ;
  74.     JRNZ    $ + 7
  75.     CALL    0563H
  76.     JRNC    $ + 7
  77.     JRS    4, RAM, $ + 3
  78.     JRZ    $ + 7
  79.     LD    A, X
  80.     JRC    $ + 7
  81.     CPI    A, DATA
  82.     JRNZ    $ + 8
  83.     JP    0563H
  84.     JRNC    $ + 8
  85.     SET    4, RAM
  86.     JRZ    $ + 8
  87.     LD    X, A
  88.     JRC    $ + 8
  89.     CP    A, RAM
  90.  
  91. ;
  92. ; 041H - 04FH
  93. ;
  94.     JRNZ    $ + 9
  95.     CALL    0564H
  96.     JRNC    $ + 9
  97.     JRR    2, RAM, $ + 3
  98.     JRZ    $ + 9
  99.                 ; 045H IS UNUSED.
  100.     JRC    $ + 9
  101.     ADD    A, (X)
  102.     JRNZ    $ + 10
  103.     JP    0564H
  104.     JRNC    $ + 10
  105.     RES    2, RAM
  106.     JRZ    $ + 10
  107.     RETI
  108.     JRC    $ + 10
  109.     ADD    A, (Y)
  110.  
  111. ;
  112. ; 051H - 05FH
  113. ;
  114.     JRNZ    $ + 11
  115.     CALL    0565H
  116.     JRNC    $ + 11
  117.     JRS    2, RAM, $ + 3
  118.     JRZ    $ + 11
  119.     INC    Y
  120.     JRC    $ + 11
  121.     ADDI    A, DATA
  122.     JRNZ    $ + 12
  123.     JP    0565H
  124.     JRNC    $ + 12
  125.     SET    2, RAM
  126.     JRZ    $ + 12
  127.     DEC    Y
  128.     JRC    $ + 12
  129.     ADD    A, RAM
  130.  
  131. ;
  132. ; 061H - 06FH
  133. ;
  134.     JRNZ    $ + 13
  135.     CALL    0566H
  136.     JRNC    $ + 13
  137.     JRR    6, RAM, $ + 3
  138.     JRZ    $ + 13
  139.                 ; 065H IS UNUSED.
  140.     JRC    $ + 13
  141.     INC    (X)
  142.     JRNZ    $ + 14
  143.     JP    0566H
  144.     JRNC    $ + 14
  145.     RES    6, RAM
  146.     JRZ    $ + 14
  147.     STOP
  148.     JRC    $ + 14
  149.     INC    (Y)
  150.  
  151. ;
  152. ; 071H - 07FH
  153. ;
  154.     JRNZ    $ + 15
  155.     CALL    0567H
  156.     JRNC    $ + 15
  157.     JRS    6, RAM, $ + 3
  158.     JRZ    $ + 15
  159.     LD    A, Y
  160.     JRC    $ + 15
  161.                 ; 077H IS UNUSED.
  162.     JRNZ    $ + 16
  163.     JP    0567H
  164.     JRNC    $ + 16
  165.     SET    6, RAM
  166.     JRZ    $ + 16
  167.     LD    Y, A
  168.     JRC    $ + 16
  169.     INC    RAM
  170.  
  171. ;
  172. ; 081H - 08FH
  173. ;
  174.     JRNZ    $ - 15
  175.     CALL    0568H
  176.     JRNC    $ - 15
  177.     JRR    1, RAM, $ + 3
  178.     JRZ    $ - 15
  179.                 ; 085H IS UNUSED.
  180.     JRC    $ - 15
  181.     LD    (X), A
  182.     JRNZ    $ - 14
  183.     JP    0568H
  184.     JRNC    $ - 14
  185.     RES    1, RAM
  186.     JRZ    $ - 14
  187.                 ; 08DH IS UNUSED.
  188.     JRC    $ - 14
  189.     LD    (Y), A
  190.  
  191. ;
  192. ; 091H - 09FH
  193. ;
  194.     JRNZ    $ - 13
  195.     CALL    0569H
  196.     JRNC    $ - 13
  197.     JRS    1, RAM, $ + 3
  198.     JRZ    $ - 13
  199.     INC    V
  200.     JRC    $ - 13
  201.                 ; 097H IS UNUSED.
  202.     JRNZ    $ - 12
  203.     JP    0569H
  204.     JRNC    $ - 12
  205.     SET    1, RAM
  206.     JRZ    $ - 12
  207.     DEC    V
  208.     JRC    $ - 12
  209.     LD    RAM, A
  210.  
  211. ;
  212. ; 0A1H - 0AFH
  213. ;
  214.     JRNZ    $ - 11
  215.     CALL    056AH
  216.     JRNC    $ - 11
  217.     JRR    5, RAM, $ + 3
  218.     JRZ    $ - 11
  219.                 ; 0A5H IS UNUSED.
  220.     JRC    $ - 11
  221.     AND    A, (X)
  222.     JRNZ    $ - 10
  223.     JP    056AH
  224.     JRNC    $ - 10
  225.     RES    5, RAM
  226.     JRZ    $ - 10
  227.     RLC    A
  228.     JRC    $ - 10
  229.     AND    A, (Y)
  230.  
  231. ;
  232. ; 0B1H - 0BFH
  233. ;
  234.     JRNZ    $ - 9
  235.     CALL    056BH
  236.     JRNC    $ - 9
  237.     JRS    5, RAM, $ + 3
  238.     JRZ    $ - 9
  239.     LD    A, V
  240.     JRC    $ - 9
  241.     ANDI    A, DATA
  242.     JRNZ    $ - 8
  243.     JP    056BH
  244.     JRNC    $ - 8
  245.     SET    5, RAM
  246.     JRZ    $ - 8
  247.     LD    V, A
  248.     JRC    $ - 8
  249.     AND    A, RAM
  250.  
  251. ;
  252. ; 0C1H - 0CFH
  253. ;
  254.     JRNZ    $ - 7
  255.     CALL    056CH
  256.     JRNC    $ - 7
  257.     JRR    3, RAM, $ + 3
  258.     JRZ    $ - 7
  259.                 ; 0C5H IS UNUSED.
  260.     JRC    $ - 7
  261.     SUB    A, (X)
  262.     JRNZ    $ - 6
  263.     JP    056CH
  264.     JRNC    $ - 6
  265.     RES    3, RAM
  266.     JRZ    $ - 6
  267.     RET
  268.     JRC    $ - 6
  269.     SUB    A, (Y)
  270.  
  271. ;
  272. ; 0D1H - 0DFH
  273. ;
  274.     JRNZ    $ - 5
  275.     CALL    056DH
  276.     JRNC    $ - 5
  277.     JRS    3, RAM, $ + 3
  278.     JRZ    $ - 5
  279.     INC    W
  280.     JRC    $ - 5
  281.     SUBI    A, DATA
  282.     JRNZ    $ - 4
  283.     JP    056DH
  284.     JRNC    $ - 4
  285.     SET    3, RAM
  286.     JRZ    $ - 4
  287.     DEC    W
  288.     JRC    $ - 4
  289.     SUB    A, RAM
  290.  
  291. ;
  292. ; 0E1H - 0EFH
  293. ;
  294.     JRNZ    $ - 3
  295.     CALL    056EH
  296.     JRNC    $ - 3
  297.     JRR    7, RAM, $ + 3
  298.     JRZ    $ - 3
  299.                 ; 0E5H IS UNUSED.
  300.     JRC    $ - 3
  301.     DEC    (X)
  302.     JRNZ    $ - 2
  303.     JP    056EH
  304.     JRNC    $ - 2
  305.     RES    7, RAM
  306.     JRZ    $ - 2
  307.     WAIT
  308.     JRC    $ - 2
  309.     DEC    (Y)
  310.  
  311. ;
  312. ; 0F1H - 0FFH
  313. ;
  314.     JRNZ    $ - 1
  315.     CALL    056FH
  316.     JRNC    $ - 1
  317.     JRS    7, RAM, $ + 3
  318.     JRZ    $ - 1
  319.     LD    A, W
  320.     JRC    $ - 1
  321.                 ; 0F7H IS UNUSED.
  322.     JRNZ    $ + 0
  323.     JP    056FH
  324.     JRNC    $ + 0
  325.     SET    7, RAM
  326.     JRZ    $ + 0
  327.     LD    W, A
  328.     JRC    $ + 0
  329.     DEC    RAM
  330.  
  331. ;
  332. ; Now, let's run the built-in macros:
  333. ;
  334.     NOP            ; JRZ $ + 1
  335.  
  336.     CLR    X        ; LDI X, 0
  337.     CLR    Y        ; LDI Y, 0
  338.     CLR    V        ; LDI V, 0
  339.     CLR    W        ; LDI W, 0
  340.  
  341.     SLA    A        ; ADD A, A
  342.  
  343.     CLR    A        ; SUB A, A
  344.  
  345.     JRP    $        ; JRR 7, 0FFH, $
  346.     JRN    $        ; JRS 7, 0FFH, $
  347.  
  348.     END
  349.  
  350.